package com.asen.sys.annotation;


import com.asen.commons.core.base.enums.DictTypeEnum;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

/**
 * 数据字典类型
 * <p>标识属性为数据字典类型</p>
 *
 * @author Gary
 * @version 1.0
 * @date 2018-12-16
 */
@Target({FIELD})
@Retention(RUNTIME)
public @interface FieldDict {

    /**
     * 数据字典类型
     *
     * @return
     */
    DictTypeEnum value();

    /**
     * 字典标签属性名称，默认为xxxLabel
     *
     * @return
     */
    String attr() default "";

    /**
     * 表示本次注解仅用于标识属性类型，不生成关联属性
     *
     * @return
     */
    boolean typeOnly() default false;
}
